1. Field of the Invention
The present invention relates to a method of and an apparatus for dynamic channel allocation to reduce interference between channels of a radio communication system, particularly a mobile radio communication system.
2. Description of the Related Art
In the field of mobile radio communications, it has been customary to employ a fixed allocation process for controlling fixed frequencies to be used in each radio base station (hereinafter referred to as "base stations") at the stage of planning of installation of the base station in view of the prevention of interference between the base stations for effective utilization of frequencies.
The fixed allocation process, however, is unable to flexibly handle calls which vary from time to time.
For example, when all channels of a base station X are busy, whereas sufficient empty channels are available in an adjacent station Y, then any new call originated within the base station X suffers a call loss. If any empty channel available in the adjacent station Y can be used by the base station X, such a new call does not suffer a call loss.
To eliminate the above shortcoming of the fixed allocation process, there has been employed a dynamic channel allocation system which allows all base stations involved to freely use all available channels.
While various schemes are present for the dynamic channel allocation system, the dynamic channel allocation system basically operates by allowing all base stations involved to freely use all available channels after it has been checked whether a channel which is going to be used by a base station is not being used by an adjacent base station. Such a check is carried out because if each base station independently selected a channel without regard to the service area configuration of the base stations, then interference would possibly be caused due to fading or the like.
A dynamic channel allocation system has been proposed in which base stations individually studies their service area configuration to reduce interference. Such a proposed dynamic channel allocation system is disclosed in "Proposal of a self-controlled distributed channel allocation system, a channel isolation system", Koretsuna Furuya et al., Electronic Communication Society, General National Conference 10-47, 1986, and Japanese laid-open patent publication No. 61-244137. The dynamic channel allocation system based on channel isolation principles will be described below.
FIG. 1 shows a general mobile communication system. In FIG. 1, a mobile exchange 1 having a control circuit 1.sub.a connects calls to a public telephone network PSK and controls connection and distribution of calls of four base stations 2.sub.1 .about.2.sub.4. The base stations 2.sub.1 .about.2.sub.4 are connected respectively to antennas 3.sub.1 .about.3.sub.4.
The base stations 2.sub.1 .about.2.sub.4 have respective service areas 4.sub.1 .about.4.sub.4, as shown in FIG. 2. In FIG. 2, mobile radio stations (hereinafter referred to as ("mobile stations") 5.sub.1, 5.sub.2 are present in the respective service areas 4.sub.1, 4.sub.4. If the same frequency f.sub.1 is used at the same time in the area where service areas 4.sub.3, 4.sub.4 overlap each other, signals which use the same frequency f1 interfere with each other. However, if different frequencies f.sub.2, f.sub.3 are used in the area where service areas 4.sub.1, 4.sub.2 overlap each other, signals which use the different frequencies f.sub.2, f.sub.3 do not interfere with each other.
Priorities P.sub.1, P.sub.2, . . . , P.sub.i, . . . , P.sub.n as shown in FIG. 3 are initially assigned respectively to channels C.sub.1, C.sub.2, . . . , C.sub.i, . . . , C.sub.n differently for each base station such that the channels will not overlap each other between adjacent service areas of base stations. The term "channels" used herein include the concept of slots which are used in channels based on time-division principles.
The priorities P.sub.1, P.sub.2 2, . . . , P.sub.i, . . . , P.sub.n shown in FIG. 3 are updated according to a routine shown in FIG. 4. The routine shown in FIG. 4 is carried out for each of the base stations 2.sub.1 .about.2.sub.4. For example, the routine shown in FIG. 4 for all the base stations 2.sub.1 .about.2.sub.4 is stored in the control circuit 1a shown in FIG. 1.
According to the routine shown in FIG. 4, an initial value of the priority P.sub.i (i=1,2, . . . ,n) is established as system data in an external memory or an internal memory (step 1001). Then, a priority change count a is set to "0" (step 1002). If a communication request comes from a mobile station or a public network (step 1003), then the priority table shown in FIG. 3 is read from the memory, and a channel having the maximum priority is selected (step 1004). Then, it is determined whether the selected channel is an empty channel or not (step 1005). If the selected channel is an empty channel, then the priority P of the selected channel is increased (step 1006) as follows: EQU P=P+.DELTA.P(a)
where .DELTA.P(a) represents a priority function determined by the priority change count a. The priority function .DELTA.P(a) is larger as the priority change count a is smaller as shown in FIG. 5. Then, the channel selected in the step 1004 is allocated (a step 1007).
If the selected channel is not an empty channel in step 1005, then the priority P of the selected channel is reduced as follows (1008): EQU P=P-(P'(a)
Thereafter, it is determined whether there is any remaining channel which has not been selected in the step 1004 (step 1009). If there is any remaining channel, then the selected channels are excluded (step 1010), and the control returns to the step 1004. If there is not any remaining channel, then a call loss occurs, and a busy signal is generated (step 1011).
After the selected channel is allocated in the step 1007 or the busy signal is generated in the step 1011, the priority change count a is incremented by "1" (step 1012). Then, it is determined whether the priority change count a has reached an upper limit value n=a.sub.0, e.g., "256" (step 1013). If the priority change count a=a.sub.0, then the control returns to the step 1003. If the priority change count a&gt;a.sub.0, then the control returns to the step 1002 where the priority change count a is cleared to "0", and thereafter the control proceeds to the step 1003.
As described above, the priority is given to each of the channels, and those channels which have higher priorities are successively allocated. The priority of a channel is increased each time the channel is used, and is reduced if the channel cannot be used.
The dynamic channel allocation system based on channel isolation principles uses the priority function .DELTA.P(a) for calculating the priority P. Various patterns have been proposed for use as the priority function .DELTA.P(a). However, the priority function .DELTA.P(a) with the priority change count a used as a parameter as shown in FIG. 5 is mainly employed in the art for easily determining the priority P. To realize the priority function .DELTA.P(a) actually, however, the value of the priority change count a diverges infinitely. Therefore, the priority change count a is cleared to "0" when its value reaches an upper limit. This poses a problem because the data accumulated in the past are eliminated, preventing the system from developing a learning effect.
The priority function .DELTA.P(a) is greater as the priority change count a is smaller and is smaller as the priority change count a is greater. Consequently, the dynamic channel allocation system tends to become stabilized quickly when the service area configuration starts to be learned. However, when the dynamic channel allocation system is subjected to an abrupt change in the environment after the service areas have sufficiently been settled, e.g., when a new base station is added to a service area, the dynamic channel allocation system responds slowly, and it takes time before it becomes stabilized for asigning good and appropriate priority. For example, FIG. 6 shows a simulated result of priority ratio when an interference detection ratio changed from 0.5 to 0.8 for the priority change count determined by the conventional return mode using the priority function .DELTA.P(a) shown in FIG. 5.